البرمجة

إنشاء مستودع جيت الأول

إنشاء أول مستودع لك من خلال جيت Git: دليل شامل للمبتدئين

يُعد Git من أقوى أنظمة إدارة الإصدارات وأكثرها استخداماً في عالم البرمجة وتطوير البرمجيات. تم تطويره في الأصل من قِبل “لينوس تورفالدس” في عام 2005، ليكون نظامًا فعالًا، سريعًا، وآمنًا لتتبع تغييرات الملفات في المشاريع البرمجية. ومنذ ذلك الحين، أصبح Git الأداة الأساسية لمعظم المطورين حول العالم، سواء للعمل الفردي أو في فرق التطوير الكبيرة. عند الحديث عن استخدام Git، فإن الخطوة الأساسية تبدأ بإنشاء أول مستودع (Repository)، وهو بمثابة الحاوية التي تحتضن المشروع وكل ملفاته وتاريخه التعديلي.

سيتناول هذا المقال، بشكل موسع، كل ما يتعلق بإنشاء أول مستودع Git، بدءاً من التعريفات الأساسية، مروراً بالإعدادات الأولية، وصولاً إلى التحكم الكامل في المستودع المحلي وربطه بالمستودع البعيد. كما سيغطي المقال المفاهيم التقنية المرتبطة، وأفضل الممارسات، بالإضافة إلى الجدول الزمني للأوامر النموذجية المستخدمة خلال هذه العملية.


أولاً: لمحة تعريفية حول Git

Git هو نظام لإدارة الإصدارات الموزعة (Distributed Version Control System – DVCS). تتمثل الفكرة الرئيسية وراء Git في تتبع التغييرات التي تطرأ على الملفات والمجلدات، مما يتيح للمستخدمين العودة إلى الإصدارات السابقة، التفرع لتجريب ميزات جديدة، ودمج العمل من عدة مساهمين في مشروع مشترك.

يتم تخزين جميع التعديلات والعمليات ضمن قاعدة بيانات تُعرف باسم “المستودع” (Repository)، والذي يمكن أن يكون محلياً على جهاز المستخدم، أو بعيداً على خادم مركزي مثل GitHub أو GitLab أو Bitbucket.


ثانياً: تثبيت Git على النظام

قبل الشروع في إنشاء المستودع، يجب التأكد من أن Git مثبت على جهازك. تختلف خطوات التثبيت تبعاً لنظام التشغيل المستخدم:

على نظام Windows:

  • يمكن تحميل الحزمة التنفيذية من الموقع الرسمي: https://git-scm.com

  • بعد التثبيت، يتم استخدام Git Bash، وهي واجهة شبيهة بسطر الأوامر تدعم أوامر Git بشكل كامل.

على نظام macOS:

  • باستخدام Homebrew:

    bash
    brew install git

على نظام Linux:

  • على توزيعات Debian أو Ubuntu:

    bash
    sudo apt update sudo apt install git
  • على توزيعات Fedora:

    bash
    sudo dnf install git

بعد التثبيت، يمكن التحقق من نجاح العملية باستخدام الأمر:

bash
git --version

ثالثاً: تهيئة Git لأول مرة

قبل إنشاء أول مستودع، يُفضَّل ضبط إعدادات المستخدم العالمية حتى يتعرف Git على صاحب التعديلات:

bash
git config --global user.name "اسمك الكامل" git config --global user.email "بريدك الإلكتروني"

يمكن التحقق من الإعدادات باستخدام:

bash
git config --list

رابعاً: إنشاء مستودع محلي

1. اختيار مجلد المشروع

ابدأ بإنشاء مجلد جديد (أو استخدام مجلد موجود) يحتوي على ملفات المشروع:

bash
mkdir my-first-repo cd my-first-repo

2. تهيئة المستودع

لإنشاء مستودع Git جديد داخل هذا المجلد، يُستخدم الأمر:

bash
git init

هذا الأمر ينشئ مجلدًا فرعيًا باسم .git يحتوي على جميع ملفات التتبع الداخلية الخاصة بـ Git. لا يُوصى بحذف هذا المجلد أو التعديل عليه يدويًا.


خامساً: إضافة الملفات للمستودع

بعد تهيئة المستودع، يمكنك الآن إضافة ملفات المشروع لتتبعها. لنفترض أن لديك ملفاً باسم index.html:

1. فحص حالة المستودع:

bash
git status

ستظهر الملفات التي لم تتم إضافتها بعد للتتبع.

2. إضافة الملفات:

لإضافة ملف محدد:

bash
git add index.html

لإضافة جميع الملفات في المجلد:

bash
git add .

سادساً: حفظ التعديلات باستخدام Commits

بعد إضافة الملفات، يتم حفظ التعديلات عبر إنشاء “Commit”، وهو بمثابة لقطة (Snapshot) للملفات في لحظة معينة.

bash
git commit -m "الرسالة التي توضح طبيعة التعديل"

يفضل كتابة رسائل commit واضحة ومباشرة تُفيد الفريق أو نفسك مستقبلاً في فهم سبب التعديل.


سابعاً: استعراض سجل التعديلات

يمكنك استعراض التعديلات السابقة باستخدام الأمر:

bash
git log

ستظهر قائمة بجميع الـ commits مرتبة زمنياً، مع كل من:

  • معرف الـ commit (hash)

  • اسم المؤلف

  • التاريخ

  • رسالة التعديل


ثامناً: ربط المستودع المحلي بمستودع بعيد

غالباً ما يرغب المطورون في مزامنة عملهم مع منصة تخزين على الإنترنت مثل GitHub. لربط المستودع المحلي بمستودع GitHub، اتبع الخطوات التالية:

1. إنشاء مستودع جديد على GitHub

  • افتح حساب GitHub

  • اضغط على زر “New Repository”

  • أدخل اسم المستودع وبعض التفاصيل

  • لا تضف أي ملفات من واجهة GitHub (مثل README)، حتى لا تتعارض مع المستودع المحلي

2. ربط المستودع المحلي بالبعيد

بعد إنشاء المستودع على GitHub، قم بنسخ رابط HTTPS أو SSH.

في المستودع المحلي:

bash
git remote add origin https://github.com/username/repo-name.git

يمكن التأكد من الربط باستخدام:

bash
git remote -v

تاسعاً: رفع الملفات إلى GitHub

بما أن هذا هو أول رفع (push)، يجب تحديد الفرع الرئيسي في بعض الأحيان باسم main:

bash
git branch -M main git push -u origin main

بعد التنفيذ، ستُرفع جميع الملفات إلى مستودع GitHub ويمكن استعراضها من المتصفح.


عاشراً: جدول الأوامر الأساسية في Git

الأمر الوظيفة
git init إنشاء مستودع جديد
git add إضافة الملفات للمراقبة
git commit حفظ التعديلات
git status عرض حالة الملفات
git log استعراض سجل التعديلات
git remote add origin ربط المستودع البعيد
git push رفع التعديلات للمستودع البعيد
git pull سحب التعديلات من المستودع البعيد
git clone نسخ مستودع موجود على GitHub إلى الجهاز المحلي

الحادي عشر: بعض الممارسات الاحترافية في إدارة المستودعات

  1. تنظيم رسائل commit: يجب أن تكون مختصرة ودقيقة.

  2. ملف .gitignore: يستخدم لتحديد الملفات التي لا يجب تتبعها (مثل ملفات النظام المؤقتة، ملفات الكومبايل، إلخ).

  3. العمل على فروع (Branches): من الأفضل عدم التعديل مباشرة على الفرع الرئيسي، بل إنشاء فرع خاص لكل ميزة جديدة.

  4. الدمج (Merging): عند الانتهاء من تطوير ميزة في فرع مستقل، يجب دمجها مع الفرع الرئيسي باستخدام:

    bash
    git merge feature-branch

الثاني عشر: فهم بنية المستودع في Git

عند تهيئة مستودع Git، يتم إنشاء البنية التالية داخلياً:

  • HEAD: يشير إلى آخر commit نشط.

  • Index: المرحلة الوسيطة بين إضافة الملفات وتنفيذ commit.

  • Working Directory: المجلد الفعلي الذي تعمل فيه على الملفات.

هذا النموذج يتيح لـ Git أداء عمليات متقدمة مثل إعادة الترتيب، الدمج، والتراجع عن التعديلات دون فقدان البيانات.


الثالث عشر: التعامل مع التعديلات غير المحفوظة

في بعض الأحيان قد تحتاج إلى التراجع عن تعديلات لم يتم تنفيذ commit لها بعد. من الأوامر المهمة في هذا السياق:

  • لإلغاء التعديلات في ملف معين:

    bash
    git checkout -- اسم_الملف
  • لإزالة الملفات من المرحلة قبل commit:

    bash
    git reset اسم_الملف

الرابع عشر: مشاركة المشروع مع فرق العمل

من أقوى مزايا Git القدرة على مشاركة المشروع بين عدة أفراد. من خلال رفع التعديلات وسحبها (push & pull) وتنسيق العمل على الفروع المختلفة، يمكن لكل فرد العمل على جزء معين من المشروع ثم دمجه لاحقاً دون تعارضات.

تُستخدم منصات مثل GitHub لتنسيق هذه العمليات بشكل بصري، خاصة عند مراجعة الكود من خلال Pull Requests، وهي طلبات لدمج تغييرات من فرع معين إلى الفرع الرئيسي.


الخامس عشر: الفرق بين Git و GitHub

رغم أن Git و GitHub غالباً ما يُستخدمان معاً، إلا أنهما ليسا الشيء ذاته:

  • Git: أداة لإدارة الإصدارات تعمل محلياً.

  • GitHub: منصة تخزين سحابي لمستودعات Git، توفر واجهة رسومية وخدمات تعاون.

يمكن استخدام Git مع منصات أخرى مثل GitLab، Bitbucket، وغيرها، لكن GitHub هي الأكثر انتشاراً.


المصادر والمراجع


هذا المقال يمثل دليلاً عملياً وتقنياً متكاملاً لكل من يرغب بإنشاء أول مستودع له باستخدام Git، بدءاً من التهيئة وحتى مزامنة العمل مع منصات التخزين السحابي. المعرفة الدقيقة بهذه الخطوات تُعد ضرورية لكل مبرمج أو مطوّر يسعى إلى اعتماد منهجية فعالة لإدارة إصدارات مشروعه.